const mysql = require("mysql");

const daoIndex = (app) => {
  const db = mysql.createConnection({
    host: "localhost",
    port: "3306",
    user: "root", //数据库账号
    password: "111111", //数据库密码
    database: "demo_sql", //要使用的数据库
  });

  const sqlStr = "select * from users";
  const sqlStr2 = "insert into users (username,password) values (?,?,?)"; //一定要写占位符 防止sql注入
  const sqlStr3 = "insert into users set ?"; //或者这么写 只要字段对应就行了
  const sqlStr4 = "update users set ? where id = ?";
  const user = {
    username: "ces1",
    password: "123456",
  };
  const user2 = {
    id: 1,
    username: "update",
    password: "123456",
  };

  // 一般的select
  // db.query(sqlStr, (err, result) => {
  //   // 如果查询数据失败
  //   if (err) {
  //     return console.log(err.message);
  //   } else {
  //     // 如果执行的是select语句 则执行的结果是数组
  //     console.log(result);
  //   }
  // });

  // 插入操作
  // db.query(
  //   sqlStr2,
  //   [user.username, user.password],
  //   (err, result) => {
  //     if (err) {
  //       return console.log(err.message);
  //     }
  //     if (result.affectedRows === 1) {
  //       console.log("插入数据成功！");
  //     }
  //   }
  // );

  //另一种好用的插入方法
  // db.query(sqlStr3, user, (err, result) => {
  //   if (err) {
  //     return console.log(err.message);
  //   }
  //   if (result.affectedRows === 1) {
  //     console.log("插入数据成功！");
  //   }
  // });

  // 更新操作
  db.query(sqlStr4, [user2, user2.id], (err, result) => {
    if (err) {
      return console.log(err.message);
    }
    if (result.affectedRows === 1) {
      console.log("更新数据成功！");
    }
  });
};

module.exports = daoIndex;
